home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / games / spassion / knowhow.lzh / ノウハウ / mk_ANG.bas < prev    next >
BASIC Source File  |  1993-11-09  |  4KB  |  144 lines

  1. int x,y,n,ang_main
  2. float fx,fy,fi
  3. float gosa
  4. float gosa_min
  5. float length
  6. int i,ii,ang,ang_h,ang_add,add_add,bak_up
  7. int dat1(1024)
  8. int dat2(1024)
  9. float cx(256),cy(256)
  10. int cx8(256) ,cy8(256)
  11. int cx16(256),cy16(256)
  12. int hd32(256)
  13. char qtoc(256)
  14. str fname1
  15. str fname2
  16. int kan_len        /*カンセツ 1コアタリノ スプライトスウ
  17. int kan_suu        /*カンセツスウ
  18. int len_max        /*ゼン カンセツヲ マッスグノバシタトキノ ドットスウ
  19. screen 0,2,1,1:sp_disp(1):sp_on()
  20. for i=0 to 127:sp_set(i,0,0):next
  21. /*############################################################
  22. i=fopen("cir\cx256","r")
  23. fread(cx,256,i)
  24. i=fopen("cir\cy256","r")
  25. fread(cy,256,i)
  26. i=fopen("cir\HD32","r")
  27. fread(hd32,256,i)
  28. i=fopen("cir\qtoc","r")
  29. fread(qtoc,256,i)
  30. fcloseall()
  31. /*############################################################
  32. while kan_len=0 or kan_suu=0 or len_max>1023
  33.   input "カンセツ 1コアタリノ スプライトスウ";kan_len
  34.   input "カンセツスウ";kan_suu        /*カンセツスウ
  35.   input "セイミツド(デフォルト=&h1000)チイサイホドセイミツドup";add_add
  36.   if add_add=0 then add_add=&H1000
  37.   len_max=16*kan_len*kan_suu
  38.   print"マッスグニ ノバスト ゼンチョウ";len_max;"ドットデス。"
  39.   if len_max>1023 then print "ナガスギマス!!"
  40. endwhile
  41. /*############################################################
  42.   fname1="CIR\K1_"+itoa(kan_suu)+"_"+itoa(kan_len*16)
  43.   fname2="CIR\K2_"+itoa(kan_suu)+"_"+itoa(kan_len*16)
  44.   color 6
  45.   print"filename = ";fname1
  46.   print"filename = ";fname2;" デス"
  47. print"hit any key!!"
  48. while inkey$(0)<>"":endwhile
  49. while inkey$(0)="":endwhile
  50.   color 7
  51. /*
  52.   ang_add=0
  53. /*
  54. for ii=0 to len_max
  55. i=len_max-ii
  56.   gosa_min=65535
  57. /*-----------------------------
  58. while ang_add<&HFF0000
  59. /*
  60.   fx=0:fy=0
  61.   ang=0
  62.   n=0
  63.   for j=1 to kan_suu
  64.     ang_h=(ang shr 16)and 255
  65. /*-----------------------------
  66.     for k=1 to kan_len
  67.       fx=fx+cx(ang_h)*16:fy=fy+cy(ang_h)*16
  68.        x=fx-cx(ang_h)*8 : y=fy-cy(ang_h)*8
  69.       sp_set(n,x+128 and 511,y+128 and 511,&H135+hd32(ang_h),3)
  70.       n=n+1
  71.     next
  72. /*-----------------------------
  73.     ang=ang+ang_add
  74.   next
  75. /*-----------------------------
  76.   length=sqr(fx*fx+fy*fy)
  77.   fi=i
  78.   gosa=abs(fi-length)
  79.   if gosa_min>=gosa then {
  80.     gosa_min=gosa:bak_up=ang_add
  81.   } else {
  82.     break                /*ヒツヨウナang_addハ、bak_upニ、モトマッタ。
  83.   }
  84.   ang_add=ang_add+add_add
  85. endwhile
  86. /*------------------------------
  87. print "ゴサ";int(gosa_min);"ドット";
  88. dat1(i)=bak_up
  89. dat2(i)=(-(ang-ang_add)/2)and &hffffff
  90. print " カクドホセイ";hex$(dat2(i))
  91. ang_add=bak_up
  92. next
  93. /*#######################[ SAVE ]#########################
  94. print"テーブルをSAVEします。"
  95. i=fopen(fname1,"c")
  96. fwrite(dat1,len_max,i)
  97. i=fopen(fname2,"c")
  98. fwrite(dat2,len_max,i)
  99. fcloseall()
  100. /*#################[ デモンストレーション ]###################
  101. cls
  102. print"デモンストレーションちゅう。"
  103. print"キーをおすとしゅうりょうです。"
  104. for i=0 to 255
  105.   cx16(i)=cx(i)*16*65536
  106.   cy16(i)=cy(i)*16*65536
  107.   cx8(i) =cx(i)*8*65536
  108.   cy8(i) =cy(i)*8*65536
  109. next
  110. /*========================================
  111. while inkey$(0)=""
  112. wipe()
  113. ang_main=(rand()shr 6)and 255
  114. line(120,120,int(120+cx(ang_main)*128),int(120+cy(ang_main)*128),100)
  115. /*:::::::::::::::::::::::::::::
  116. for i=0 to len_max
  117. ang=(ang_main shl 16)+dat2(i)
  118. ang_add=dat1(i)
  119. n=0
  120. x=0
  121. y=0
  122. while strig(1)=3:endwhile
  123. vwait2(strig(1)*6)
  124. /*-----------------------------
  125.   for j=1 to kan_suu
  126.     ang_h=(ang shr 16)and 255
  127. /*-----------------------------
  128.     for k=1 to kan_len
  129.       x=x+cx16(ang_h):y=y+cy16(ang_h)
  130.       sp_set(n,((x-cx8(ang_h))shr 16)+128 and 511,((y-cy8(ang_h))shr 16)+128 and 511,&H135+hd32(ang_h),3)
  131.       n=n+1
  132.     next
  133. /*-----------------------------
  134.     ang=ang+ang_add
  135.   next
  136.   pset((x shr 16)+120 and 511,(y shr 16)+120 and 511,&Hff)
  137. /*-----------------------------
  138. next
  139. /*:::::::::::::::::::::::::::::
  140. endwhile
  141. end
  142. /*
  143. /*
  144.